﻿using MRSite.Cache.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MRSite.Cache.Entities
{
    public interface IEntityCache<TItem, TP>
    {
        string CacheName { get; }

        TItem Get(TP id);

        Task<TItem> GetAsync(TP id);

        IGenericCache<TP, TItem> InnerCache { get; }

        TItem this[TP id] { get; }
    }

    public interface IEntityCache<TItem> : IEntityCache<TItem, int>
    {
    }
}
